Cognitoware.Robotics.dll
Class ConditionalMap<X, Y>
X: The type predicated by the distribution.
Y: The type on which the predictions depend.
Summary
A conditional distribution that maps distributions over X to distinct values of Y.
Constructor Summary
Create an empty distribution.
Method Summary
BayesianInference(X, RandomDistribution<Y>)
Inherited from Cognitoware.Mathematics.Probability.RandomConditional
Calculates the conditional probability for a value of X given a known value of Y.
Creates a probability distribution of X conditioned on a specific value of Y.
Equals(Object)
Inherited from System.Object
Finalize()
Inherited from System.Object
GetHashCode()
Inherited from System.Object
GetType()
Inherited from System.Object
Creates a function describing the likelihood of all values of Y being observed given the fact that result is observed.
Creates a probability distribution of X given a random distribution across Y.
MemberwiseClone()
Inherited from System.Object
Set(Y, RandomDistribution<X>)
Maps a distribution over X to a value in Y.
ToString()
Inherited from System.Object
Details
ConditionalMap contains a dictionary that maps discrete values of Y to distributions of X.
Y is required to be discrete.
X may be continuous or discrete.
Constructor Details
public ConditionalMap()
Create an empty distribution.
Method Details
public override Double ConditionalProbabilityOf(X x, Y y)
This method returns the probability of result being observed given the fact that you know range is observed.
It simply looks up the distribution associated with range and asks it for the probability of result.
An exception will be thrown if no distribution is found mapped to range.
This method implements the abstract declaration in RandomConditional.
Parameters:
x
- The value in X.
y
- The conditional value in Y.
Returns:
The probability of result conditioned on range.
public override RandomDistribution<X> ConditionBy(Y y)
Creates a probability distribution of X given a known y.
Returns the random distribution mapped to the value of y.
If no distribution is mapped to y, an exception is thrown.
Parameters:
y
- The value of Y over which the conditional distribution.
Returns:
The probability of X given the specific value of Y.
public override RandomDistribution<Y> LikelihoodOf(X x)
Builds a DistributionValueMap across all values of Y for the specified value of X.
Returns:
A likelihood function as a RandomDistribution. Because the returned value is not normalized, it is a likelihood function and not a distribution.
public override RandomDistribution<X> Marginalize(RandomDistribution<Y> y)
Creates a probability distribution of X given a random distribution across Y.
The probability of a value of X in this distribution is equal to the average conditional
probability of X given Y (defined by this distribution) weighted by the probability
of each corresponding value Y in the parameter distribution.
This average is built using a MixedDistribution.
Parameters:
y
-
The distribuiton across Y that is used to weight the probability distributions of X.
Returns:
The expectation of X given the probable values of Y.
public void Set(Y y, RandomDistribution<X> x)
Maps a distribution over X to a value in Y.
If a distribution is already mapped to the value of Y, then it is replaced by the new distribution.
Parameters:
y
- The conditional value in Y.
x
- The distribution over X.